﻿using Contact.Contracts.Models.User;
using EFDataModel;

namespace Contact.DAL.Models.User
{
    /// <summary>
    /// Alle Abfragen die die User betreffen
    /// </summary>
    public class UserRepository : IUser
    {
        #region Interface Members
        /// <summary>
        /// Der Aktuelle ModelContainer
        /// </summary>
        public EFModelContainer CurrentModel { get; set; }

        /// <summary>
        /// Ermitteln des Users mit der übergebenen UserId
        /// </summary>
        /// <param name="userId">die UserId zu der der User ermittelt werden soll</param>
        /// <returns>EFAuthentication Objekt oder NULL wenn die UserId nicht gefunden werden kann.</returns>
        public EFAuthentication GetUser(long userId)
        {
           return (EFAuthentication) CurrentModel.EFBaseMenge.Find(userId);
        }
        #endregion

        #region Konstruktor
        /// <summary>
        /// Initialize
        /// </summary>
        /// <param name="efModelContainer">Der Aktuelle Modelcontainer auf dem alle Abfragen ausgeführt werden sollen</param>
        public UserRepository(EFModelContainer efModelContainer)
        {
            CurrentModel = efModelContainer;
        }
        #endregion
    }
}
